#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
初始化数据库数据的脚本
创建外卖分类等初始数据
"""

import os
import django
from django.contrib.auth.hashers import make_password

# 设置Django环境
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TradingPlatform_Server.settings')
django.setup()

from Server.models import Kind, User

def init_kinds():
    """初始化外卖分类"""
    kinds_data = [
        {'type': '中餐', 'content': '传统中式美食'},
        {'type': '西餐', 'content': '西式快餐和料理'},
        {'type': '日韩料理', 'content': '日本和韩国料理'},
        {'type': '小吃', 'content': '各种特色小吃'},
        {'type': '甜品饮品', 'content': '甜品、奶茶、咖啡等'},
        {'type': '火锅烧烤', 'content': '火锅和烧烤类'},
        {'type': '快餐', 'content': '快餐便当类'},
        {'type': '其他', 'content': '其他美食分类'},
    ]
    
    print("开始初始化外卖分类...")
    for kind_data in kinds_data:
        kind, created = Kind.objects.get_or_create(
            type=kind_data['type'],
            defaults={'content': kind_data['content']}
        )
        if created:
            print(f"✓ 创建分类: {kind.type} - {kind.content}")
        else:
            print(f"○ 分类已存在: {kind.type}")
    
    print(f"\n完成！共有 {Kind.objects.count()} 个分类")


def init_admin_user():
    """初始化管理员用户"""
    print("\n开始检查管理员用户...")
    admin_id = 'admin001'
    
    admin, created = User.objects.get_or_create(
        id=admin_id,
        defaults={
            'username': '系统管理员',
            'password': make_password('admin123'),
            'phone': '13800138000',
            'is_admin': True,
            'money': 10000.0
        }
    )
    
    if created:
        print(f"✓ 创建管理员用户")
        print(f"  用户ID: {admin.id}")
        print(f"  用户名: {admin.username}")
        print(f"  密码: admin123")
        print(f"  手机号: {admin.phone}")
    else:
        print(f"○ 管理员用户已存在")


def main():
    print("=" * 60)
    print("数据库初始化")
    print("=" * 60)
    
    # 初始化分类
    init_kinds()
    
    # 初始化管理员用户
    init_admin_user()
    
    print("\n" + "=" * 60)
    print("初始化完成！")
    print("=" * 60)


if __name__ == '__main__':
    main()

